<%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2024/12/31
  Time: 9:14
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>学生信息页面</title>
    <script src="/student/js/jquery-1.3.2.min.js"></script>
</head>
<body>
    <h2>学生管理</h2>
    <div>
        <form>
            学生编号:
            <input type="text" name="stuBh" placeholder="学生编号" id="stuBh">
            学生姓名:
            <input type="text" name="stuName" placeholder="学生姓名" id="stuName">
            学生年龄:
            <input type="text" name="stuAge" placeholder="学生年龄" id="stuAge">
            学生性别:
            <select name="stuSex" id="stuSex">
                <option value="男">不限</option>
                <option value="男">男</option>
                <option value="女">女</option>
            </select>
            <input type="button" value="查询" id="searchBtn">
        </form>
    </div>

    <table>
        <thead>
        <tr>
            <th>id</th>
            <th>学生编号</th>
            <th>学生姓名</th>
            <th>学生班级</th>
            <th>学生性别</th>
            <th>学生年龄</th>
            <th>操作</th>
        </tr>
        </thead>
        <tbody>

        </tbody>
    </table>

</body>

    <script>
        let currentPage = 1;

        queryBooks(1);
        // 绑定搜索按钮点击事件
        $("#searchBtn").click(function () {
            queryBooks(1); // 调用queryBooks函数，传入初始页码1
        })

        // 绑定页面大小选择框的change事件
        $("#pageSize").change(function(){
            queryBooks(1); // 页面大小改变时，重新查询第一页数据
        })

        function queryBooks(pageNum){
            console.log(pageNum); // 输出当前页码到控制台

            // 清空表格内容
            $("tbody").empty();

            // 获取表单中的输入值
            let stuBh = $("#stuBh").val();
            let stuName = $("#stuName").val();
            let stuBj = $("#stuBj").val();
            let stuSex = $("#stuSex").val();
            let stuAge = $("#stuAge").val();

            // 发送AJAX请求获取书籍数据
            $.ajax({
                url: "/Library/student/getStudents", // 请求的URL
                type: "get", // 请求方法为GET
                dataType: "json", // 期望服务器返回的数据类型为JSON
                data: {
                    "stuBh": stuBh, // 学生编号
                    "stuName": stuName, // 学生姓名
                    "stuBj": stuBj, // 学生班级
                    "stuSex": stuSex,   // 学生性别
                    "stuAge": stuAge    // 学生年龄
                },
                success: function (data) {
                    console.log(data); // 输出返回的数据到控制台

                    // 提取书籍列表
                    let students = data.list;

                    // 遍历书籍列表，生成表格行并添加到表格中
                    for(let i = 0; i < students.length; i++){
                        let student = students[i];
                        let tr = $("<tr></tr>");
                        tr.append("<td>" + student.stuId + "</td>");
                        tr.append("<td>" + student.stuBh + "</td>");
                        tr.append("<td>" + student.stuName + "</td>");
                        tr.append("<td>" + student.stuBj + "</td>");
                        tr.append("<td>" + student.stuSex + "</td>");
                        tr.append("<td>" + student.stuAge + "</td>");
                        $("tbody").append(tr); // 将生成的行添加到表格中
                    }

                    // 生成分页栏
                    makePageBar(data);
                }
            })
        }

        /**
         * 根据返回的数据生成分页栏
         * @param {Object} data - 包含分页信息的数据对象
         */
        function makePageBar(data){
            // 清空分页栏内容
            $("#pageBar").empty();

            // 如果有上一页，生成上一页链接
            if(data.hasPreviousPage){
                let prePage = $(`<a href="#" class="fy" onclick="queryBooks(${"${data.pageNum - 1})"}">上一页</a>`);
                $("#pageBar").append(prePage); // 将上一页链接添加到分页栏
            }

            // 遍历导航页码数组，生成页码链接
            let nums = data.navigatepageNums;
            for(let i = 0; i < nums.length; i++){
                let a = $(`<a href="#" class="fy" onclick="queryBooks(${"${nums[i]}"})">${"${nums[i]}"}</a>`);
                if(data.pageNum == nums[i]){
                    a.addClass("red"); // 如果当前页码与遍历的页码相同，添加红色样式
                }

                $("#pageBar").append(a); // 将页码链接添加到分页栏
            }

            // 如果有下一页，生成下一页链接
            if(data.hasNextPage){
                let nextPage = $(`<a href="#" class="fy" onclick="queryBooks(${"${data.pageNum + 1})"}">下一页</a>`);
                $("#pageBar").append(nextPage); // 将下一页链接添加到分页栏
            }
        }
        //删除
        function deleteBook(bookId){
            let confirm = window.confirm("请确认是否要进行删除操作");
            if (confirm == false){
                return ;
            }
            $.ajax({
                url: "/SSM/book/deleteBook",
                type: "post",
                data:{
                    "bookId":bookId
                },
                success:function(date) {
                    if (date == 'success'){
                        queryBooks(currentPage);
                    }else {
                        alert("删除失败")
                    }
                }
            })
        }
    </script>

</html>
